<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>   
   <title>Selenium Grid</title><link rel="stylesheet" type="text/css" href="stylesheets/site.css">
   <link rel="stylesheet" type="text/css" href="stylesheets/home.css">
   <link rel="alternate" type="application/rss+xml" title="RSS" href="news.rss">
   <script type="text/javascript" src="javascripts/jquery-1.3.2.min.js"></script>
</head>
<body>

<div class="marketing-banner">
  <img width="250px" alt="Selenium_grid_logo_large" src="images/selenium-grid-logo-huge.png">
  <p class="tagline">Selenium Grid 2 Now Available!</p>
  <p>
    <a href="http://code.google.com/p/selenium/wiki/Grid2">Selenium Grid 2</a> was released
    as part of the Selenium 2 release.  Every new Selenium release brings the latest version
    of Selenium Grid with it, so there's no need for an external download.  If you're just
    getting started, you should use Selenium Grid 2, as <strong>Selenium Grid 1 is no longer
    supported</strong>.  These docs are historical and only preserved for those that haven't yet
    upgraded to Selenium Grid 2.
  </p>
  <p>
    By the way, did we mention that Selenium Grid 2 is backwards-compatible?  There's
    virtually no risk and very little effort required to upgrade.
    <a href="http://code.google.com/p/selenium/wiki/Grid2">Check it out</a> today!
  </p>
</div>

<table id="topics">
  <thead>
    <tr id="header">
      <td id="why">
        <h2>Why?</h2>
        <p>The Vision Behind Selenium Grid</p>
        <div class="content">
       <object width="425" height="344"i class="video">
        <param name="movie"
        value="http://www.youtube.com/v/EDb8yOM3Vpw&hl=en&fs=1&start=1378" />
        <param name="allowFullScreen" value="true" />
        <param name="allowscriptaccess" value="always" />
        <embed src="http://www.youtube.com/v/EDb8yOM3Vpw&hl=en&fs=1&start=1378" 
               type="application/x-shockwave-flash" 
               allowscriptaccess="always" 
               allowfullscreen="true"
               flashvars="image=/images/java_version_osx_screenshot.png"
               width="425" 
               height="344" />
      </object>
          <h3>In-Browser Tests Are Slow</h3>
            <p>
              In-browser testing involves a full application stack
              and a flurry of network chats between browsers, web
              servers, databases and other processes. Not 
              surprisingly, this comes with a lot of performance
              overhead. As your application grows, the
              web acceptance build soon takes more than half an hour
              to run, and accounts for a 
              <strong>tremendous delay in the development feedback
              cycle</strong>.
            </p>
          <h3>Maintenance Costs Are The Real Challenge</h3>
            <p>
              Using Selenium, it is very easy to write or generate a
              significant number of automated in-browser tests. 
              The real challenge, though, is to keep the maintenance 
              costs low as the application matures, the test suite grows
              and time passes by.
              However valuable the tests are, <strong>it is hard to maintain
              a High ROI for your Selenium test suite if maintenance 
              costs grow exponentially</strong>. We have seen way too many
              test suites requiring full time effort of a
              dedicated QA or developer... just to keep them in the
              green and find more bugs in the test suite itself than in the
              application.
            </p>
          <h3>Prompt and Reliable Feedback is Crucial</h3>
            <p>
              Keeping maintenance costs low is a hard problem which
              can only be solved by a combination of techniques and
              best practices. However, none of them will work if 
              your feedback cycle is slow or plagued with intermittent
              failures. <strong>Prompt and efficient feedback is the key to
                experimentation, innovation and improvement</strong>.
            </p><p>
              Even worse than slow, <strong>without a fast feedback loop you will end up 
              chasing a (broken) Selenium build</strong> as your development 
              team cranks out new functionality faster than build
              failures can be diagnosed and fixed.
            </p>
          <h3>Hardware is Cheap</h3>
            <p>
              In-browser tests are inherently slow, but since commodity
              hardware is insanely cheap nowadays there is no
              excuse for not <strong>running all these tests in parallel on
              multiple machines and dramatically speeding up your feedback
              cycle. This is exactly what Selenium Grid is about</strong>.
            </p><p>
              You do not even need to build or purchase an expensive
              server farm: in our experience <strong>a couple of Mac Minis or Linux
                Boxes can go a long way</strong> and help you keep your build
              under 10 minutes.  Selenium Grid also works great on cloud platforms,
			  such as Amazon's EC2.
            </p>
     <br/>
        </div>
      </td>
      
      <td id="how">
        <img src="images/crystal-clear-icons/Startup Wizard.png"  />
        <h2>How Does it Work?</h2>
        <p>Concepts and Architecture</p>
        <div class="content">
          <ul>
            <li><a href="how_it_works.html">How it Works</a></li>
          </ul>
         <p>Selenium Grid is a tool that dramatically speeds up functional 
          testing of web-apps by leveraging your existing computing infrastructure. 
          It allows you to easily run multiple tests in parallel, on multiple
          machines, in an heterogeneous enviroment.&nbsp;
        </p>
        <p>
          Based on the excellent 
          <a href="http://www.seleniumhq.org/docs/">Selenium</a> web 
          testing tool, Selenium Grid allows you to run multiple instances 
          of Selenium Remote Control in parallel. Even better, it makes all 
          these Selenium Remote Controls appear as a single one, so your tests 
          do not have to worry about the actual infrastructure. Selenium Grid
          cuts down on the time required to run a Selenium test suite to a 
          fraction of the time that a single instance of Selenium instance 
          would take to run.
        </p><p>
	      Of course, you get to choose which language you develop your tests
	      in: Ruby, Java, Python, C#, PHP, ... 
		</p><p>
          Last but not least, Selenium Grid is easy to use and simple to install.
        </p>
        </div>
      </td>
      
      <td id="getting-started">
        <img src="images/crystal-clear-icons/tutorials.png"  />
        <h2>Getting Started</h2>
        <p>Your First Steps with Selenium Grid</p>
        <div class="content">
	      <h3>Installing Selenium Grid</h3>
            <p>
              In <q><a href="get_started.html">Setup Your Environment</a></q>
              you will learn everything on how to install Selenium Grid and
              its required dependencies.
            </p>
            <p>
              If for some reason you need a previous distribution of
              Selenium Grid, you can find them on the
              <a href="download.html">download page</a>.
            </p>

         <h3>Run the Demo</h3>
           <p>
             Before you use Selenium Grid on your own project, I recommend that
             you acquire some practical experience with its mechanics and 
             management scripts by <a href="run_the_demo.html">Running The Demo</a>
             on your local machine.
	       </p>

         <h3>Examples Bundled in Selenium Grid Distribution</h3>
           <p>
             Selenium Grid bundles Java and Ruby examples, which provide a great
             starting point to adapt your Selenium Test Suite to Selenium Grid.
             Make sure you review them, they are located in the <code>examples</code>
             directory in Selenium Grid root installation directory.
           </p>
       </div>
      </td>
      
      <td id="using-it">
        <h2>Using It</h2>
          <p>Adapting your Selenium Test Suite to Leverage Selenium Grid</p>
          <div class="content">
      	    <h3>Selenium Grid Management:</h3>
              <ul>
                <li><a href="self-healing.html">Self-Healing Features</a></li>
              </ul>
                   
	    <h3>Converting Your Selenium Test Suite to Selenium Grid:</h3>
            <ul>
              <li><a href="configuring-and-tuning.html">Configuring and Tuning</a></li>
              <li><a href="continuous_testing_with_selenium_grid_subversion_and_hudson.html">Continuous Integration with Hudson</a> by Amit Easow</li>
            </ul>
	    <h3>Community Contributions:</h3>
             <ul>
              <li><a href="http://blog.abakas.com/2008/08/selenium-grid-configuring-machines.html">Configuring Machines</a> by Catherine Powell</li>
              <li><a href="http://blog.abakas.com/2008/12/selenium-grid-update-handling.html">Handling Dependencies</a> by Catherine Powell</li>
              <li><a href="http://blog.abakas.com/2009/01/selenium-saga-part-iii.html">Selenium Saga - Part III</a> by Catherine Powell</li>
              <li><a
                href="http://slmoloch.blogspot.com/2009/12/design-of-selenium-tests-for-aspnet_19.html">Design of Selenium tests for ASP.NET: Running Web Tests in parallel using Selenium GRID </a></li>
              <li><a href="http://www.yoyobrain.com/cardboxes/preview/1534">Selenium Grid Flashcards</a></li>
              <li><a href="http://blog.infostretch.com/?p=397">Using
                Hudson as Selenium Grid for Continuous
                Integration</a> by Rutvik </li>
            </ul>
        </div>
      </td>
      
      <td id="getting-help">
        <img src="images/crystal-clear-icons/kdmconfig.png"/>
        <h2>Community</h2>
        <p>Getting Help, Provide feedback, submit bugs, send patches</p>
        <div class="content">
          <ul>
            <li><a href="faq.html">F.A.Q.</a></li>
            <li><a href="http://clearspace.openqa.org/community/selenium/advanced">User Forums</a></li>
            <li><a href="http://groups.google.com/group/selenium-users">Contact Us</a></li>
          </ul>
          <ul>
            <li><a href="give_feedback.html">We Need Your Feedback</a></li>
            <li><a href="participate.html">More Than One Way to Participate</a></li>
            <li><a href="http://github.com/ph7/selenium-grid/issues">Report Bugs</a></li>
            <li><a href="hack.html">Start Hacking the Grid!</a></li>
            <li><a href="build_it_from_source.html">Build it from Source</a></li>
          </ul>
        </div>
     </td>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td id="displayed-content" colspan="6"></td>
   </tr>
  <tbody>
</table>

  <script type="text/javascript">
    $(document).ready(function() {
        $("table#topics thead tr td").click(function() {
          var content = $("table#topics thead tr td#" + $(this).attr("id") + " div.content");
          $("#displayed-content").html(content.html());
        });
    });
    var content = $("table#topics thead tr td#why div.content");
    $("#displayed-content").html(content.html());
  </script>
</body>
</html>
